home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / cellhtml / CellHtml.jar / CachePool.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-20  |  1.9 KB  |  92 lines

  1. import java.util.Vector;
  2. import javax.microedition.rms.RecordStore;
  3.  
  4. class CachePool {
  5.    // $FF: renamed from: ├é java.util.Vector
  6.    Vector field_0 = new Vector(1);
  7.    public int limit;
  8.    public int total;
  9.  
  10.    CachePool(int var1) {
  11.       this.limit = var1;
  12.       this.reset();
  13.  
  14.       try {
  15.          RecordStore var2 = RecordStore.openRecordStore("CellHtml.cache", false);
  16.          if (var2 != null) {
  17.             int var3 = var2.getNumRecords();
  18.  
  19.             for(int var4 = 1; var4 <= var3; var4 += 2) {
  20.                String var5 = new String(var2.getRecord(var4));
  21.                byte[] var6 = var2.getRecord(var4 + 1);
  22.                this.field_0.addElement(new CacheObj(var5, var6));
  23.             }
  24.  
  25.             var2.closeRecordStore();
  26.          }
  27.       } catch (Exception var7) {
  28.       }
  29.  
  30.    }
  31.  
  32.    public void reset() {
  33.       this.field_0.removeAllElements();
  34.       this.total = 0;
  35.    }
  36.  
  37.    public void setCache(String var1, byte[] var2) {
  38.       if (var2.length < this.limit) {
  39.          if (this.getCache(var1) == null) {
  40.             while(this.total + var2.length >= this.limit) {
  41.                CacheObj var3 = (CacheObj)this.field_0.elementAt(0);
  42.                this.total -= var3.buffer.length;
  43.                this.field_0.removeElementAt(0);
  44.                if (this.field_0.size() == 0) {
  45.                   this.total = 0;
  46.                }
  47.             }
  48.  
  49.             this.total += var2.length;
  50.             this.field_0.addElement(new CacheObj(var1, var2));
  51.          }
  52.       }
  53.    }
  54.  
  55.    public byte[] getCache(String var1) {
  56.       int var2 = this.field_0.size();
  57.  
  58.       for(int var3 = 0; var3 < var2; ++var3) {
  59.          CacheObj var4 = (CacheObj)this.field_0.elementAt(var3);
  60.          if (var1.equals(var4.name)) {
  61.             return var4.buffer;
  62.          }
  63.       }
  64.  
  65.       return null;
  66.    }
  67.  
  68.    public void saveCache() {
  69.       try {
  70.          RecordStore.deleteRecordStore("CellHtml.cache");
  71.       } catch (Exception var5) {
  72.       }
  73.  
  74.       int var1 = this.field_0.size();
  75.       if (var1 != 0) {
  76.          try {
  77.             RecordStore var2 = RecordStore.openRecordStore("CellHtml.cache", true);
  78.  
  79.             for(int var3 = 0; var3 < var1; ++var3) {
  80.                CacheObj var4 = (CacheObj)this.field_0.elementAt(var3);
  81.                var2.addRecord(var4.name.getBytes(), 0, var4.name.length());
  82.                var2.addRecord(var4.buffer, 0, var4.buffer.length);
  83.             }
  84.  
  85.             var2.closeRecordStore();
  86.          } catch (Exception var6) {
  87.          }
  88.  
  89.       }
  90.    }
  91. }
  92.